package com.health.appoint.model.appoint;


import io.swagger.v3.oas.annotations.Parameter;
import jakarta.validation.constraints.Future;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author zhexueqi
 * @ClassName AddAppointRequest
 * @since 2024/8/22    16:17
 */
@Data
public class AddAppointRequest {

    @Parameter(name = "appointId", description = "预约ID", required = true)
    @NotNull
    @Min(value = 1, message = "预约ID不能为空")
    private Long appointId;

    @NotBlank
    @Parameter(name = "patientAddress", description = "患者地址", required = true)
    private String patientAddress;

    @NotBlank
    @Parameter(name = "privateKey", description = "私钥", required = true)
    private String privateKey;

    @NotBlank
    @Parameter(name = "doctorAddress", description = "医生地址", required = true)
    private String doctorAddress;

    @NotBlank
    @Parameter(name = "doctorName", description = "医生名称", required = true)
    private String doctorName;

    @NotBlank
    @Parameter(name = "department", description = "科室", required = true)
    private String department;

    @NotBlank
    @Parameter(name = "hospitalAddress", description = "医院名称", required = true)
    private String hospitalAddress;

    @NotBlank
    @Parameter(name = "hospitalName", description = "医院名称", required = true)
    private String hospitalName;

    @Parameter(name = "appointTime", description = "预约时间", required = true,example="2024-08-21 09:00")
    @NotNull
    @Future
    private LocalDateTime appointTime;


}
